#include <REGX52.H>
#include "Delay.h"

sbit RCK = P3^5;//这样算的重命名，就是让P3^5（p3的第五位，^是第几位的意思），被定义为RCK（RCLK）
sbit SCK = P3^6;//SRCLk
sbit SER = P3^4;

#define MATRIX_LED_PORT P0

void _74HC595_Writing(unsigned char Byte)//这个是D口，也就是给行的数据
{
	unsigned char i = 0;
	for(i=0;i<8;i++)
	{
		SER=Byte & (0x80>>i);
		SCK=1;
		SCK=0;
	}
	RCK=1;
	RCK=0;
}

void Matrix_Init()
{
	SCK = 0;
	RCK = 0;
}

void MatrixLED_ShowColumn(unsigned char Column,Date)//这个是选中那一列，确定行的数据输入
{
	_74HC595_Writing(Date);
	MATRIX_LED_PORT = ~(0x80>>Column);//Column是第几列，
	Delay(1);
	MATRIX_LED_PORT = 0xFF;//这里是清零列的数据，因为列是给0亮，列接的是共阴极
}